# 1. 选择基础镜像（Node.js 官方镜像，alpine 版本体积更小）
FROM node:18-alpine

# 2. 设置工作目录（容器内的项目目录）
WORKDIR /app

# 3. 复制 package.json 和 package-lock.json（或 yarn.lock）
COPY package*.json ./

# 4. 安装依赖（利用 Docker 缓存，仅当依赖文件变化时才重新安装）
RUN npm install

# 5. 复制项目其他文件到工作目录
COPY . .

# 6. 暴露容器端口（与项目监听端口一致）
EXPOSE 8000

# 7. 启动命令（对应 package.json 的 start 脚本）
CMD ["npm", "start"]